package com.mswork.mes.mapper;

import java.util.List;

import com.mswork.mes.domain.StoreOrderCargo;
import io.lettuce.core.dynamic.annotation.Param;

/**
 * 工单货物Mapper接口
 *
 * @author ruoyi
 * @date 2025-03-09
 */
public interface StoreOrderCargoMapper {
    /**
     * 查询工单货物
     *
     * @param cargoId 工单货物主键
     * @return 工单货物
     */
    public StoreOrderCargo selectStoreOrderCargoByCargoId(Long cargoId);

    /**
     * 查询工单货物列表
     *
     * @param storeOrderCargo 工单货物
     * @return 工单货物集合
     */
    public List<StoreOrderCargo> selectStoreOrderCargoList(StoreOrderCargo storeOrderCargo);

    /**
     * 新增工单货物
     *
     * @param storeOrderCargo 工单货物
     * @return 结果
     */
    public int insertStoreOrderCargo(StoreOrderCargo storeOrderCargo);

    /**
     * 修改工单货物
     *
     * @param storeOrderCargo 工单货物
     * @return 结果
     */
    public int updateStoreOrderCargo(StoreOrderCargo storeOrderCargo);

    /**
     * 删除工单货物
     *
     * @param cargoId 工单货物主键
     * @return 结果
     */
    public int deleteStoreOrderCargoByCargoId(Long cargoId);

    /**
     * 通过工单管理主键删除工单货物信息
     *
     * @param orderId 工单管理ID
     * @return 结果
     */
    public int deleteStoreOrderCargoByOrderId(Long orderId);

    /**
     * 批量删除工单货物
     *
     * @param cargoIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStoreOrderCargoByCargoIds(Long[] cargoIds);

    public int deleteStoreOrderCargoByOrderIds(Long[] orderIds);


    /**
     * 查询工单货物列表
     *
     * @param storeOrderCargo 工单货物
     * @return 工单货物集合
     */
    public List<StoreOrderCargo> getCargoListByNum(StoreOrderCargo storeOrderCargo);

    public int batchStoreOrderCargo(List<StoreOrderCargo> storeOrderCargoList);

    public List<StoreOrderCargo> selectCargoListNotZero(StoreOrderCargo storeOrderCargo);


}
